<html>
<body>
 <p>
 For each operand that names a file of a type other than directory or symbolic
 link to a directory, <code>ls</code> writes the name of the file as well as any
 requested, associated information. For each operand that names a file of type
 directory, <code>ls</code> writes the names of files contained within the
 directory as well as any requested, associated information. If the <b>-l</b>
 option is specified, for each operand that names a file of type symbolic link
 to a directory, <code>ls</code> writes the name of the file as well as any
 requested, associated information. If the <b>-l</b> option is not specified,
 for each operand that names a file of type symbolic link to a directory,
 <code>ls</code> writes the names of files contained within the directory as well
 as any requested, associated information.
 </p>
 <p>
 If no operands are specified, <code>ls</code> writes the contents of the current
 directory. If more than one operand is specified, <code>ls</code> writes
 non-directory operands first; it sorts directory and non-directory operands
 separately according to the name of the file or directory.
 </p>
 <p>
 TODO The <code>ls</code> utility detects infinite loops; that is, entering a
 previously visited directory that is an ancestor of the last file
 encountered. When it detects an infinite loop, <code>ls</code> aborts the
 recursion.
 </p>
 </body>
</html>